/*
 * Copyright [2025] [Harbortek Corp.]
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.harbortek.helm.util;

import com.harbortek.helm.common.vo.IdNameReference;
import com.harbortek.helm.system.service.LogService;
import com.harbortek.helm.system.vo.LogVo;
import com.harbortek.helm.system.vo.UserVo;

import java.text.MessageFormat;
import java.util.Date;

public class LogUtils {


	public static void log(String module, String title, String content, Object... var2) {
		LogVo log = new LogVo();
		UserVo user = SecurityUtils.getCurrentUser();
		if (user != null){
			log.setCreateBy(new IdNameReference<>(user));
			log.setRemoteAddress(user.getRemoteAddress());
		}


		log.setModule(module);
		log.setName(title);
		String value = MessageFormat.format(content, var2);
		log.setDescription(value);
		SpringContextUtil.getApplicationContext().getBean(LogService.class).createLog(log);
	}
}
